iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0
AI Security

《30 天從零打造資安語言模型:從微調到 Agent 落地》系列 第 22 篇

Day 22|弱項累積與訓練報告:讓「不會什麼」變成可見的

  • 分享至 

  • xImage
  •  

本文所有資料皆為合成資料。

從單題到全貌

昨天做完了出題與批改。但一題一題答完,如果沒有累積,這個系統就只是一個線上題庫。

真正的價值在於:把每一次答錯,累積成一張「這個人還不會什麼」的地圖。

弱項的資料結構

每一次作答都記錄下來:

{
  "attempt_id": "AT-2026-0902-1183",
  "learner_id": "L-0037",
  "question_id": "Q-EDR-0117",
  "chosen": "B",
  "correct": false,
  "answered_at": "2026-09-02T10:14:00+08:00",
  "time_spent_sec": 42,
  "topic_tags": ["端點防護", "事件處置", "證據保全"],
  "difficulty": "基礎",
  "attempt_seq": 1
}

累積之後,按 topic_tags 聚合,就得到弱項圖:

{
  "learner_id": "L-0037",
  "period": "2026-08-15 ~ 2026-09-10",
  "total_attempts": 147,
  "overall_accuracy": 0.73,
  "by_topic": [
    {"topic": "端點防護", "attempts": 34, "accuracy": 0.62, "trend": "improving"},
    {"topic": "證據保全", "attempts": 12, "accuracy": 0.42, "trend": "flat"},
    {"topic": "網路監控", "attempts": 41, "accuracy": 0.85, "trend": "stable"},
    {"topic": "法規合規", "attempts": 18, "accuracy": 0.50, "trend": "declining"},
    {"topic": "事件通報流程", "attempts": 42, "accuracy": 0.81, "trend": "improving"}
  ],
  "repeated_errors": [
    {"topic": "證據保全", "pattern": "揮發性證據的處理順序", "occurrences": 5}
  ]
}

repeated_errors 是這裡最重要的欄位

單看正確率只能知道「哪個主題弱」。重複錯誤模式能知道「錯在哪個具體概念」。

上面這個例子:學員在證據保全的正確率 42%,而且五次錯誤都集中在「揮發性證據的處理順序」這一個概念上。

這代表什麼?不是他不用功,是他對這個概念有一個穩定的錯誤認知。 他很可能認為「先斷電止血」是對的——這是一個非常常見的直覺錯誤。

而這種錯誤,多做題目不會好。 它需要的是有人跟他講清楚為什麼。

怎麼偵測重複錯誤模式

技術上有兩種做法:

做法一:靠 topic_tags 聚合。 簡單,但顆粒度受限於標籤的細緻程度。

做法二:靠錯誤選項的語意聚類。 把學員選錯的那些選項的內容做嵌入,看有沒有聚成一團。如果五道不同的題目,他選錯的選項語意上都指向「立即中止優於保全」,那就抓到模式了。

我用的是一為主、二為輔。標籤要設計得夠細,然後用聚類抓標籤沒涵蓋的模式。

這裡有個誘惑要抵抗:讓模型直接讀學員的錯題然後「分析他的問題」。

我沒有這樣做,理由是——這會變成對一個人的能力推斷,而那是一個評價,不是一個事實。 系統可以說「這五題錯在同一個知識點」(事實),不該說「這位學員的資安思維偏向反應式」(推斷)。後者會進到主管手上影響對人的判斷,而它的依據只是幾道選擇題。

這條線我劃得很硬。系統報告事實,人做判斷。

訓練報告

給訓練主管的月報(合成):

# 資安新人訓練進度報告
期間:2026-08-15 ~ 2026-09-10
學員:L-0037(到職第 4 週)

 

## 整體進度
累計作答 147 題,整體正確率 73%。
較上期(第 1-2 週)的 61% 有明顯提升。

 

## 已掌握的主題
- 網路監控(85%)
- 事件通報流程(81%)

 

## 需要加強的主題
- 證據保全(42%)
- 法規合規(50%)

 

## 建議關注
證據保全主題中,出現 5 次集中於「揮發性證據處理順序」
的重複錯誤。此類錯誤反覆出現,建議安排一次口頭說明,
單純增加練習題數可能無法有效改善。

 

法規合規主題正確率呈下降趨勢,惟作答題數較少(18 題),
樣本數不足以判定,建議下期增加該主題的練習量後再行評估。

 

## 下期建議練習配置
證據保全 40%|法規合規 30%|其他主題輪替 30%

兩個刻意的設計

第一,「建議安排一次口頭說明」。

系統識別出了「這是練習解決不了的問題」,然後建議把人拉回迴圈。這跟 Day 15 的人審閘道是同一個哲學——系統知道自己的邊界在哪。

第二,法規合規那段的樣本數警告。

18 題的正確率 50%,聽起來很差。但 18 題的統計誤差很大,這個數字可能只是雜訊。

系統誠實地說了這件事,而不是把它當成一個確定的結論報上去。

這一段的寫法直接來自 Day 12 的教訓。 我在自己的 benchmark 上被小樣本騙過一次,所以我在這個系統裡把它做成了規則:任何低於門檻題數的主題,報告中必須附註樣本不足。

一個系統會不會誠實地講自己的不確定性,是它值不值得信任的分水嶺。這件事我在自己身上學到之後,把它寫進了產品裡。

第三部快收尾了

四個任務都拆完了。明天最後一天,講一個看起來很技術但其實是架構哲學的決定:為什麼四個 Agent 的指令集不共用。


🛡️ Instagram: @aid3fend — AI 資安實戰紀錄,歡迎追蹤交流。



上一篇
Day 21|任務四:出題、批改,以及為什麼出處比答案重要
系列文
《30 天從零打造資安語言模型:從微調到 Agent 落地》 共 22 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言